

namespace WebQuestionnaire.Core.DataInterfaces
{
    using System.Collections.Generic;

    public interface IMembershipProvider
    {
        bool ValidateUser(string userName, string password, out string validationMessage);
        Users CreateUser(Users user, out string validationMessage);
        void UpdateUser(Users user, out string validationMessage);
        bool DeleteUser(string userName, string password, out string validationMessage);
        Users GetUserByEmail(string email);
        Users GetUserByUsername(string userName);
        string HashPassword(string password, string salt);
        string HashPassword(string password, out string salt);
        List<Users> GetPagedUsers(int pageIndex, int pageSize, out long totalRecords);
        List<Users> GetPagedUsers(int pageIndex, int pageSize, out long totalRecords,Users filter);
        bool ChangePassword(string userName, string currentPassword, string newPassword);
        string[] GetRoles(string userName);
        void DeleteUser(string userName);
        List<Role> GetAllRoles();
    
    

    }
}